home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / pcq_incl3v1.lha / DOS / ExAll.i < prev    next >
Encoding:
Text File  |  1994-10-13  |  2.3 KB  |  70 lines

  1.  
  2. {$I   "Include:UTility/Hooks.i"}
  3.  
  4. {  NOTE: V37 dos.library, when doing ExAll() emulation, and V37 filesystems  }
  5. {  will return an error if passed ED_OWNER.  If you get ERROR_BAD_NUMBER,    }
  6. {  retry with ED_COMMENT to get everything but owner info.  All filesystems  }
  7. {  supporting ExAll() must support through ED_COMMENT, and must check Type   }
  8. {  and return ERROR_BAD_NUMBER if they don't support the type.               }
  9.  
  10. {   values that can be passed for what data you want from ExAll() }
  11. {   each higher value includes those below it (numerically)       }
  12. {   you MUST chose one of these values }
  13. CONST
  14.      ED_NAME        = 1;
  15.      ED_TYPE        = 2;
  16.      ED_SIZE        = 3;
  17.      ED_PROTECTION  = 4;
  18.      ED_DATE        = 5;
  19.      ED_COMMENT     = 6;
  20.      ED_OWNER       = 7;
  21. {
  22.  *   Structure in which exall results are returned in.  Note that only the
  23.  *   fields asked for will exist!
  24.  }
  25. Type
  26.        ExAllData = Record
  27.         ed_Next     : ^ExAllData;
  28.         ed_Name     : String;
  29.         ed_Type,
  30.         ed_Size,
  31.         ed_Prot,
  32.         ed_Days,
  33.         ed_Mins,
  34.         ed_Ticks    : Integer;
  35.         ed_Comment  : String;     {   strings will be after last used field }
  36.         ed_OwnerUID,              { new for V39 }
  37.         ed_OwnerGID : WORD;
  38.        END;
  39.        ExAllDataPtr = ^ExAllData;
  40.  
  41. {
  42.  *   Control structure passed to ExAll.  Unused fields MUST be initialized to
  43.  *   0, expecially eac_LastKey.
  44.  *
  45.  *   eac_MatchFunc is a hook (see utility.library documentation for usage)
  46.  *   It should return true if the entry is to returned, false if it is to be
  47.  *   ignored.
  48.  *
  49.  *   This structure MUST be allocated by AllocDosObject()!
  50.  }
  51.  
  52.        ExAllControl = Record
  53.         eac_Entries,                {   number of entries returned in buffer      }
  54.         eac_LastKey  : Integer;     {   Don't touch inbetween linked ExAll calls! }
  55.         eac_MatchString : String;   {   wildcard string for pattern match OR NULL }
  56.         eac_MatchFunc : HookPtr;    {   optional private wildcard FUNCTION     }
  57.        END;
  58.        ExAllControlPtr = ^ExAllControl;
  59.  
  60. { functions in V37 or higher }
  61.  
  62. FUNCTION ExAll(F : FileLock; Buffer : Address; BufferSize, InfoType : Integer; Control : ExAllControlPtr) : Boolean;
  63.     External;
  64.  
  65. { functions in V39 or higher }
  66.  
  67. PROCEDURE ExAllEnd(F : FileLock; Buffer : Address; BufferSize, InfoType : Integer; Control : ExAllControlPtr);
  68.     External;
  69.  
  70.